#ifndef CREATEGROUPPAGE_H
#define CREATEGROUPPAGE_H

#include <QWidget>
#include <QLineEdit>
#include <QPushButton>

namespace Ui {
class CreateGroupPage;
}

/**
 * @brief 创建群聊页面类，处理创建群聊功能
 */
class CreateGroupPage : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数，初始化创建群聊页面
     * @param parent 父窗口指针
     */
    explicit CreateGroupPage(QWidget *parent = nullptr);

    /**
     * @brief 析构函数，释放资源
     */
    ~CreateGroupPage();

signals:
    /**
     * @brief 返回群聊列表页面信号
     */
    void backToGroupList();

    /**
     * @brief 创建群聊信号
     * @param groupName 群聊名称
     */
    void createGroup(const QString &groupName);

private slots:
    /**
     * @brief 创建按钮点击事件处理
     */
    void onCreateClicked();

    /**
     * @brief 返回按钮点击事件处理
     */
    void onBackClicked();

private:
    Ui::CreateGroupPage *ui;          ///< UI对象指针
    QLineEdit *m_groupNameEdit;       ///< 群聊名称输入框
    QPushButton *m_createBtn;         ///< 创建按钮
    QPushButton *m_backBtn;           ///< 返回按钮

    /**
     * @brief 初始化UI组件
     */
    void initUI();

    /**
     * @brief 验证群聊名称输入
     * @return 验证通过返回true，否则返回false
     */
    bool validateInput();
};

#endif // CREATEGROUPPAGE_H

